10 GOSUB10000:REM DATEI DEFFINIEREN 20 PRINT"DATEI UNGEORDNET:" 30 FORI=1TOSZ:PRINTD$(I):NEXTI 40 GOSUB30000:REM 1.SCHLUESSEL SORTIEREN 50 PRINT"DATEI NACH 1.SCHLUESSEL SORTIERT:" 60 FORI=1TOSZ:PRINTD$(I):NEXTI 70 END 10000 REM FRUECHTE-DATEI DEFFINIEREN ------------------------------------------- 10010 SZ=8 :REM ANZAHL DER SAETZE 10020 DIM D$(SZ):REM STRING-FELD 10030 FOR I=1 TO SZ 10040 : READ D$(I) 10050 NEXTI 10100 DATA"VIZAWRITE 01200.0024" 10105 DATA"WORDPRO 01155.5013" 10110 DATA"SPACE INVADERS 02 39.0067" 10115 DATA"JUMPMAN 02 49.0034" 10120 DATA"SIMONS BASIC 03 99.0065" 10125 DATA"G-BASIC 03140.0045" 10130 DATA"GORDON SAGA 04 39.0089" 10135 DATA"DEADLINE 04 99.0034" 10140 RETURN 30000 REM QUICKSORT ----------------------------------------------------------- 30001 DIMLG(100),RG(100):Z=0:LG(1)=1:RG(1)=SZ 30010 Z=Z+1:IFLG(Z)>=RG(Z)THEN30120 30020 X=LG(Z):Y=RG(Z) 30030 VG$=LEFT$(D$(INT((X+Y)/2)),15) 30040 IF X>Y THEN30100 30050 IF LEFT$(D$(X),15)VG$THENY=Y-1:GOTO30060 30070 IF X>YTHEN30100 30080 S$=D$(X):D$(X)=D$(Y):D$(Y)=S$ 30090 X=X+1:Y=Y-1:GOTO30040 30100 RG(Z+1)=Y:LG(Z+1)=LG(Z):GOSUB30010 30110 LG(Z+1)=X:RG(Z+1)=RG(Z):GOSUB30010 30120 Z=Z-1:RETURN